import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
 class Potion {
   // $FF: renamed from: a vt[]
   public static  Potion[] PotionEffect_array;
   // $FF: renamed from: b vt
   public static  Potion field_2826;
   // $FF: renamed from: c vt
   public static  Potion Speed;
   // $FF: renamed from: d vt
   public static  Potion Slow;
   // $FF: renamed from: e vt
   public static  Potion DigSpeed;
   // $FF: renamed from: f vt
   public static  Potion DigSlow;
   // $FF: renamed from: g vt
   public static  Potion DamageBoost;
   // $FF: renamed from: h vt
   public static  Potion Heal;
   // $FF: renamed from: i vt
   public static  Potion Harm;
   // $FF: renamed from: j vt
   public static  Potion Jump;
   // $FF: renamed from: k vt
   public static  Potion Confusion;
   // $FF: renamed from: l vt
   public static  Potion Regen;
   // $FF: renamed from: m vt
   public static  Potion Resist;
   // $FF: renamed from: n vt
   public static  Potion FireResist;
   // $FF: renamed from: o vt
   public static  Potion WaterBreathe;
   // $FF: renamed from: p vt
   public static  Potion Invis;
   // $FF: renamed from: q vt
   public static  Potion Blind;
   // $FF: renamed from: r vt
   public static  Potion NightVision;
   // $FF: renamed from: s vt
   public static  Potion Hunger;
   // $FF: renamed from: t vt
   public static  Potion Weakness;
   // $FF: renamed from: u vt
   public static  Potion Poison;
   // $FF: renamed from: v vt
   public static  Potion field_2846;
   // $FF: renamed from: w vt
   public static  Potion field_2847;
   // $FF: renamed from: x vt
   public static  Potion field_2848;
   // $FF: renamed from: y vt
   public static  Potion field_2849;
   // $FF: renamed from: z vt
   public static  Potion field_2850;
   // $FF: renamed from: A vt
   public static  Potion field_2851;
   // $FF: renamed from: B vt
   public static  Potion field_2852;
   // $FF: renamed from: C vt
   public static  Potion field_2853;
   // $FF: renamed from: D vt
   public static  Potion field_2854;
   // $FF: renamed from: E vt
   public static  Potion field_2855;
   // $FF: renamed from: F vt
   public static  Potion field_2856;
   // $FF: renamed from: G vt
   public static  Potion field_2857;
   // $FF: renamed from: H int
   public  int ind;
   // $FF: renamed from: I java.lang.String
   private String reskey;
   // $FF: renamed from: J int
   private int potionvalue;
   // $FF: renamed from: K boolean
   private boolean negative_effect;


   // $FF: renamed from: <init> (int) void
   protected void set_ind(int var1) {
      this.reskey = "";
      this.potionvalue = -1;
      this.ind = var1;
      PotionEffect_array[var1] = this;
   }

   // $FF: renamed from: a (int, int) vt
   protected Potion set_pv(int var1, int var2) {
      this.potionvalue = var1 + var2 * 8;
      return this;
   }

   // $FF: renamed from: a () int
   public int method_2826() {
      return this.ind;
   }

   // $FF: renamed from: b () boolean
   public boolean is_health_potion() {
      return false;
   }

   // $FF: renamed from: b (int, int) boolean
   public boolean affects_hunger(int var1, int var2) {
	   return true;
   }

   // $FF: renamed from: a (java.lang.String) vt
   public Potion set_reskey(String var1) {
      this.reskey = var1;
      return this;
   }

   // $FF: renamed from: c () java.lang.String
   public String get_reskey() {
      return this.reskey;
   }

   // $FF: renamed from: d () boolean
   public boolean method_2832() {
      return this.potionvalue >= 0;
   }

   // $FF: renamed from: e () int
   public int get_potionvalue() {
      return this.potionvalue;
   }

   // $FF: renamed from: f () boolean
   public boolean is_negative_effect() {
      return this.negative_effect;
   }

   // $FF: renamed from: g () vt
   protected Potion set_negative_effect() {
      this.negative_effect = true;
      return this;
   }
   
   // $FF: renamed from: <clinit> () void
   static void method_2837() {
      PotionEffect_array = new Potion[32];
      field_2826 = null;
      Potion var10000 = new Potion();
      var10000.set_ind(1);
      Speed = var10000.set_reskey("potion.moveSpeed").set_pv(0, 0);
      var10000 = new Potion();
      var10000.set_ind(2);
      Slow = var10000.set_negative_effect().set_reskey("potion.moveSlowdown").set_pv(1, 0);
      var10000 = new Potion();
      var10000.set_ind(3);
      DigSpeed = var10000.set_reskey("potion.digSpeed").set_pv(2, 0);
      var10000 = new Potion();
      var10000.set_ind(4);
      DigSlow = var10000.set_negative_effect().set_reskey("potion.digSlowDown").set_pv(3, 0);
      var10000 = new Potion();
      var10000.set_ind(5);
      DamageBoost = var10000.set_reskey("potion.damageBoost").set_pv(4, 0);
      Potion var0 = new Potion();
      var0.set_ind(6);
      Heal = var0.set_reskey("potion.heal");
      var0 = new Potion();
      var0.set_ind(7);
      Harm = var0.set_negative_effect().set_reskey("potion.harm");
      var10000 = new Potion();
      var10000.set_ind(8);
      Jump = var10000.set_reskey("potion.jump").set_pv(2, 1);
      var10000 = new Potion();
      var10000.set_ind(9);
      Confusion = var10000.set_negative_effect().set_reskey("potion.confusion").set_pv(3, 1);
      var10000 = new Potion();
      var10000.set_ind(10);
      Regen = var10000.set_reskey("potion.regeneration").set_pv(7, 0);
      var10000 = new Potion();
      var10000.set_ind(11);
      Resist = var10000.set_reskey("potion.resistance").set_pv(6, 1);
      var10000 = new Potion();
      var10000.set_ind(12);
      FireResist = var10000.set_reskey("potion.fireResistance").set_pv(7, 1);
      var10000 = new Potion();
      var10000.set_ind(13);
      WaterBreathe = var10000.set_reskey("potion.waterBreathing").set_pv(0, 2);
      var10000 = new Potion();
      var10000.set_ind(14);
      Invis = var10000.set_reskey("potion.invisibility").set_pv(0, 1);
      var10000 = new Potion();
      var10000.set_ind(15);
      Blind = var10000.set_negative_effect().set_reskey("potion.blindness").set_pv(5, 1);
      var10000 = new Potion();
      var10000.set_ind(16);
      NightVision = var10000.set_reskey("potion.nightVision").set_pv(4, 1);
      var10000 = new Potion();
      var10000.set_ind(17);
      Hunger = var10000.set_negative_effect().set_reskey("potion.hunger").set_pv(1, 1);
      var10000 = new Potion();
      var10000.set_ind(18);
      Weakness = var10000.set_negative_effect().set_reskey("potion.weakness").set_pv(5, 0);
      var10000 = new Potion();
      var10000.set_ind(19);
      Poison = var10000.set_negative_effect().set_reskey("potion.poison").set_pv(6, 0);
      field_2846 = null;
      field_2847 = null;
      field_2848 = null;
      field_2849 = null;
      field_2850 = null;
      field_2851 = null;
      field_2852 = null;
      field_2853 = null;
      field_2854 = null;
      field_2855 = null;
      field_2856 = null;
      field_2857 = null;
   }
}


// $FF: renamed from: go
class PotionCalculator {

   private static  HashMap duration_pats;
   // $FF: renamed from: b java.util.HashMap
   private static  HashMap potency_pats;
   // $FF: renamed from: c java.lang.String[]
   private static  String[] field_2075;


   // $FF: renamed from: <init> () void
   public void method_1837() {
   }

   // $FF: renamed from: a (int, int) boolean
   private static boolean get_bit_in_low_word(int datavalue, int var1) {
      return (datavalue & 1 << var1 % 15) != 0;
   }

   // $FF: renamed from: b (int, int) boolean
   private static boolean get_bit(int datavalue, int bit_loc) {
      return (datavalue & 1 << bit_loc) != 0;
   }

   // $FF: renamed from: c (int, int) int
   private static int method_1840(int var0, int var1) {
      return get_bit(var0, var1)?1:0;
   }

   // $FF: renamed from: d (int, int) int
   private static int method_1841(int datavalue, int operand) {
      return get_bit(datavalue, operand)?0:1;
   }

   // $FF: renamed from: a (int) int
   public static int get_hash_for_reskey(int var0) {
      return get_bits(var0, 14, 9, 7, 3, 2);
   }

   // $FF: renamed from: b (int) int
   public static int get_hash_for_color(int var0) {
      int var1 = (get_bits(var0, 2, 14, 11, 8, 5) ^ 3) << 3;
      int var2 = (get_bits(var0, 0, 12, 9, 6, 3) ^ 6) << 3;
      int var3 = (get_bits(var0, 13, 10, 4, 1, 7) ^ 8) << 3;
      return var1 << 16 | var2 << 8 | var3;
   }

   // $FF: renamed from: c (int) java.lang.String
   public static String get_reskey(int var0) {
      int var1 = get_hash_for_reskey(var0);
      return field_2075[var1];
   }

   // $FF: renamed from: a (boolean, boolean, boolean, int, int, int, int) int
   // total += operate(do_inv, do_mult, do_sub, cmp_fun, operand1, operand2, datavalue);
   private static int operate(boolean do_inv, boolean do_mult, boolean do_sub, int cmp_fun, int operand1, int operand2, int datavalue) {
      int reval = 0;
      if(do_inv) {
         reval = method_1841(datavalue, operand1);
      } else if(cmp_fun != -1) {
         if(cmp_fun == 0 && get_num_bits_set(datavalue) == operand1) {
            reval = 1;
         } else if(cmp_fun == 1 && get_num_bits_set(datavalue) > operand1) {
            reval = 1;
         } else if(cmp_fun == 2 && get_num_bits_set(datavalue) < operand1) {
            reval = 1;
         }
      } else {
         reval = method_1840(datavalue, operand1);
      }

      if(do_mult) {
         reval *= operand2;
      }

      if(do_sub) {
         reval *= -1;
      }

      return reval;
   }

   // $FF: renamed from: h (int) int
   private static int get_num_bits_set(int var0) {
      int var1;
      for(var1 = 0; var0 > 0; ++var1) {
         var0 &= var0 - 1;
      }

      return var1;
   }

   // $FF: renamed from: a (java.lang.String, int, int, int) int
   private static int parse(String var0, int position, int length, int datavalue) {
      if(position < var0.length() && length >= 0 && position < length) {
         int or_pos = var0.indexOf('|', position);
		 int retval;
         if(or_pos >= 0 && or_pos < length) {
            retval = parse(var0, position, or_pos - 1, datavalue);
            if(retval > 0) {
               return retval;
            } else {
               retval = parse(var0, or_pos + 1, length, datavalue);
               return retval > 0?retval:0;
            }
         } else {
            int and_pos = var0.indexOf('&', position);
            if(and_pos >= 0 && and_pos < length) {
               retval = parse(var0, position, and_pos - 1, datavalue);
               if(retval <= 0) {
                  return 0;
               } else {
                  int other_retval = parse(var0, and_pos + 1, length, datavalue);
                  return (other_retval <= 0?0:(retval > other_retval ? retval:other_retval));
               }
            } else {
               boolean use_operand2 = false;
               boolean do_mult = false;
               boolean have_op1 = false;
               boolean do_inv = false;
               boolean do_sub = false;
               byte cmp_fun = -1;
               int operand1 = 0;
               int operand2 = 0;
               int total = 0;

			   //parse a substring
               for(int i = position; i < length; ++i) {
                  char ch = var0.charAt(i);
                  if(ch >= '0' && ch <= '9') {
                     if(use_operand2) {
                        operand2 = ch - 48; //char to int
                        do_mult = true;
                     } else {
                        operand1 *= 10;
                        operand1 += ch - 48;
                        have_op1 = true;
                     }
                  } else if(ch == '*') {
                     use_operand2 = true;
                  } else if(ch == '!') {
                     if(have_op1) {
                        total += operate(do_inv, do_mult, do_sub, cmp_fun, operand1, operand2, datavalue);
                        do_inv = false;
                        do_sub = false;
                        use_operand2 = false;
                        do_mult = false;
                        have_op1 = false;
                        operand2 = 0;
                        operand1 = 0;
                        cmp_fun = -1;
                     }

                     do_inv = true;
                  } else if(ch == '-') {
                     if(have_op1) {
                        total += operate(do_inv, do_mult, do_sub, cmp_fun, operand1, operand2, datavalue);
                        do_inv = false;
                        do_sub = false;
                        use_operand2 = false;
                        do_mult = false;
                        have_op1 = false;
                        operand2 = 0;
                        operand1 = 0;
                        cmp_fun = -1;
                     }

                     do_sub = true;
                  } else if(ch != '=' && ch != '<' && ch != '>') {
                     if(ch == 43 && have_op1) {
                        total += operate(do_inv, do_mult, do_sub, cmp_fun, operand1, operand2, datavalue);
                        do_inv = false;
                        do_sub = false;
                        use_operand2 = false;
                        do_mult = false;
                        have_op1 = false;
                        operand2 = 0;
                        operand1 = 0;
                        cmp_fun = -1;
                     }
                  } else {
                     if(have_op1) {
                        total += operate(do_inv, do_mult, do_sub, cmp_fun, operand1, operand2, datavalue);
                        do_inv = false;
                        do_sub = false;
                        use_operand2 = false;
                        do_mult = false;
                        have_op1 = false;
                        operand2 = 0;
                        operand1 = 0;
                        cmp_fun = -1;
                     }

                     if(ch == '=') {
                        cmp_fun = 0;
                     } else if(ch == '<') {
                        cmp_fun = 2;
                     } else if(ch == '>') {
                        cmp_fun = 1;
                     }
                  }
               }

               if(have_op1) {
                  total += operate(do_inv, do_mult, do_sub, cmp_fun, operand1, operand2, datavalue);
               }

               return total;
            }
         }
      } else {
         return 0;
      }
   }

	private static void compute(Map<String,String> ing_form, ArrayList<String> ings, int liquid_value, int level)
	{
		if(level == 0)
			return;
	   for (Map.Entry<String, String> entry : ing_form.entrySet()) {

		   String ing = entry.getKey();
		   String form = entry.getValue();
		   ArrayList<String> newIngs = (ArrayList<String>)ings.clone();
		   newIngs.add(ing);
		   int value;
		   if(form.equals("S"))
		   {
			   value = update_liquid_value_for_nether_stalk(liquid_value);
		   }
		   else
		   {
			   value = update_liquid_value(liquid_value,form);
		   }
		   System.out.print(value+":");
		   for( String i : ings )
		   {
			   System.out.print(i+",");
		   }
		   System.out.println(ing);
		if(ings.isEmpty())
			System.err.println(ing);
			compute(ing_form,newIngs,value,level-1);
		}
	}

   public static void main(String args[])
   {
	   HashMap<String,String> ing_form = new HashMap<String,String>();
	   ing_form.put("Water","-1-3-5-7-9-11-13");
	   ing_form.put("Sugar","+0");
	   ing_form.put("GhastTear","+11");
	   ing_form.put("SpiderEye","+10+7+5");
	   ing_form.put("FermentedSpiderEye","+14+9");
	   ing_form.put("BlazePower","+14");
	   ing_form.put("MagmaCream","+14+6+1");
	   ing_form.put("NetherWart","S");
	   Potion.method_2837();
	   method_1855();
	   if (args.length > 0)
	   {
		   int value = 0;
		   for(String ing : args)
		   {
			   String form = ing_form.get(ing);
			   if(form.equals("S"))
			   {
				   System.out.println("S");
				   value = update_liquid_value_for_nether_stalk(value);
			   }
			   else
			   {
				   value = update_liquid_value(value,form);
			   }
		   }
		   System.out.println(value);
		   return;
	   }
	   ArrayList<String> list = new ArrayList<String>();
	   for(int i=0; i <= 0x7fff; i++)
	   {
		   for (Map.Entry<String, String> entry : ing_form.entrySet()) {

			   String ing = entry.getKey();
			   String form = entry.getValue();
			   int value;
			   if(form.equals("S"))
			   {
				   value = update_liquid_value_for_nether_stalk(i);
			   }
			   else
			   {
				   value = update_liquid_value(i,form);
			   }
			   if( i != value)
				   System.out.println(i+"|"+ing+"|"+value);
		   }
	   }
   }

   // $FF: renamed from: d (int) java.util.List
   public static List get_potion_effects_from_liquid_value(int original_liquid_value) {
      ArrayList effect_list = null;
      Potion[] var2 = Potion.PotionEffect_array;
      int var3 = var2.length;

      for(int var4 = 0; var4 < var3; ++var4) {
         Potion potion = var2[var4];
         if(potion != null) {
            String value_pattern = (String)duration_pats.get(Integer.valueOf(potion.method_2826()));
            if(value_pattern != null) {
               int potion_duration = parse(value_pattern, 0, value_pattern.length(), original_liquid_value);
               if(potion_duration > 0) {
                  int potion_potency = 0;
                  String dmg_pattern = (String)potency_pats.get(Integer.valueOf(potion.method_2826()));
                  if(dmg_pattern != null) {
                     potion_potency = parse(dmg_pattern, 0, dmg_pattern.length(), original_liquid_value);
                     if(potion_potency < 0) {
                        potion_potency = 0;
                     }
                  }

                  if(potion.is_health_potion()) {
                     potion_duration = 1;
                  } else {
                     potion_duration = 1200 * (potion_duration * 3 + (potion_duration - 1) * 2);
                     if(potion.is_negative_effect()) {
                        potion_duration >>= 1;
                     }
                  }

                  if(effect_list == null) {
                     effect_list = new ArrayList();
                  }
				  System.out.println(original_liquid_value+":"+potion.get_reskey()+"|"+get_reskey(original_liquid_value)+ "("+potion_duration+"@"+potion_potency+")");

               }
            }
         }
      }

      return effect_list;
   }

   // $FF: renamed from: e (int) int
   public static int method_1849(int var0) {
      if((var0 & 1) == 0) {
         return var0;
      } else {
         int var1;
         for(var1 = 14; (var0 & 1 << var1) == 0 && var1 >= 0; --var1) {
            ;
         }

         if(var1 >= 2 && (var0 & 1 << var1 - 1) == 0) {
            if(var1 >= 0) {
               var0 &= ~(1 << var1);
            }

            var0 <<= 1;
            if(var1 >= 0) {
               var0 |= 1 << var1;
               var0 |= 1 << var1 - 1;
            }

            return var0 & 32767;
         } else {
            return var0;
         }
      }
   }

   // $FF: renamed from: f (int) int
   public static int method_1850(int datavalue) {
      int first_zero;
      for(first_zero = 14; (datavalue & 1 << first_zero) == 0 && first_zero >= 0; --first_zero) {
         ;
      }

      if(first_zero >= 0) {
         datavalue &= ~(1 << first_zero);
      }

      int var2 = 0;

      for(int var3 = datavalue; var3 != var2; datavalue = var2) {
         var3 = datavalue;
         var2 = 0;

         for(int var4 = 0; var4 < 15; ++var4) {
            boolean var5 = get_bit_in_low_word(datavalue, var4);
            if(var5) {
               if(!get_bit_in_low_word(datavalue, var4 + 1) && get_bit_in_low_word(datavalue, var4 + 2)) {
                  var5 = false;
               } else if(!get_bit_in_low_word(datavalue, var4 - 1) && get_bit_in_low_word(datavalue, var4 - 2)) {
                  var5 = false;
               }
            } else {
               var5 = get_bit_in_low_word(datavalue, var4 - 1) && get_bit_in_low_word(datavalue, var4 + 1);
            }

            if(var5) {
               var2 |= 1 << var4;
            }
         }
      }

      if(first_zero >= 0) {
         var2 |= 1 << first_zero;
      }

      return var2 & 32767;
   }

   // $FF: renamed from: g (int) int
   public static int update_liquid_value_for_nether_stalk(int potion_value) {
      if((potion_value & 1) != 0) {
         potion_value = method_1849(potion_value);
      }

      return method_1850(potion_value);
   }

   // $FF: renamed from: a (int, int, boolean, boolean) int
   private static int modify_bits_from_liquid_value_update(int potionvalue, int bit_pos, boolean unset, boolean do_toggle) {
      if(unset) {
         potionvalue &= ~(1 << bit_pos);
      } else if(do_toggle) {
         if((potionvalue & 1 << bit_pos) != 0) {
            potionvalue &= ~(1 << bit_pos);
         } else {
            potionvalue |= 1 << bit_pos;
         }
      } else {
         potionvalue |= 1 << bit_pos;
      }

      return potionvalue;
   }

   // $FF: renamed from: a (int, java.lang.String) int
   public static int update_liquid_value(int potion_value, String ingred_formula) {
      byte var2 = 0;
      int var3 = ingred_formula.length();
      boolean have_bit_pos = false;
      boolean do_toggle = false;
      boolean do_unset = false;
      int bit_pos = 0;

      for(int var8 = var2; var8 < var3; ++var8) {
         char ch = ingred_formula.charAt(var8);
         if(ch >= '0' && ch <= '9') {
            bit_pos *= 10;
            bit_pos += ch - 48;
            have_bit_pos = true;
         } else if(ch == '!') {
            if(have_bit_pos) {
               potion_value = modify_bits_from_liquid_value_update(potion_value, bit_pos, do_unset, do_toggle);
               do_toggle = false;
               do_unset = false;
               have_bit_pos = false;
               bit_pos = 0;
            }

            do_toggle = true;
         } else if(ch == '-') {
            if(have_bit_pos) {
               potion_value = modify_bits_from_liquid_value_update(potion_value, bit_pos, do_unset, do_toggle);
               do_toggle = false;
               do_unset = false;
               have_bit_pos = false;
               bit_pos = 0;
            }

            do_unset = true;
         } else if(ch == '+' && have_bit_pos) {
            potion_value = modify_bits_from_liquid_value_update(potion_value, bit_pos, do_unset, do_toggle);
            do_toggle = false;
            do_unset = false;
            have_bit_pos = false;
            bit_pos = 0;
         }
      }

      if(have_bit_pos) {
         potion_value = modify_bits_from_liquid_value_update(potion_value, bit_pos, do_unset, do_toggle);
      }

      return potion_value & 32767;
   }

   // $FF: renamed from: a (int, int, int, int, int, int) int
   public static int get_bits(int d, int bp1, int bp2, int bp3, int bp4, int bp5) {
      return (get_bit(d, bp1)?16:0) | (get_bit(d, bp2)?8:0) | (get_bit(d, bp3)?4:0) | (get_bit(d, bp4)?2:0) | (get_bit(d, bp5)?1:0);
   }

   // $FF: renamed from: <clinit> () void
   static void method_1855() {
      duration_pats = new HashMap();
      potency_pats = new HashMap();

      duration_pats.put(Integer.valueOf(Potion.Speed.method_2826()), "!10 & !4 & 5*2+0 & >1 | !7 & !4 & 5*2+0 & >1");
      duration_pats.put(Integer.valueOf(Potion.Slow.method_2826()), "10 & 7 & !4 & 7+5+1-0");
      duration_pats.put(Integer.valueOf(Potion.DigSpeed.method_2826()), "2 & 12+2+6-1-7 & <8");
      duration_pats.put(Integer.valueOf(Potion.DigSlow.method_2826()), "!2 & !1*2-9 & 14-5");
      duration_pats.put(Integer.valueOf(Potion.DamageBoost.method_2826()), "9 & 3 & 9+4+5 & <11");
      duration_pats.put(Integer.valueOf(Potion.Heal.method_2826()), "11 & <6");
      duration_pats.put(Integer.valueOf(Potion.Harm.method_2826()), "!11 & 1 & 10 & !7");
      duration_pats.put(Integer.valueOf(Potion.Jump.method_2826()), "8 & 2+0 & <5");
      duration_pats.put(Integer.valueOf(Potion.Confusion.method_2826()), "8*2-!7+4-11 & !2 | 13 & 11 & 2*3-1-5");
      duration_pats.put(Integer.valueOf(Potion.Regen.method_2826()), "!14 & 13*3-!0-!5-8");
      duration_pats.put(Integer.valueOf(Potion.Resist.method_2826()), "10 & 4 & 10+5+6 & <9");
      duration_pats.put(Integer.valueOf(Potion.FireResist.method_2826()), "14 & !5 & 6-!1 & 14+13+12");
      duration_pats.put(Integer.valueOf(Potion.WaterBreathe.method_2826()), "0+1+12 & !6 & 10 & !11 & !13");
      duration_pats.put(Integer.valueOf(Potion.Invis.method_2826()), "2+5+13-0-4 & !7 & !1 & >5");
      duration_pats.put(Integer.valueOf(Potion.Blind.method_2826()), "9 & !1 & !5 & !3 & =3");
      duration_pats.put(Integer.valueOf(Potion.NightVision.method_2826()), "8*2-!7 & 5 & !0 & >3");
      duration_pats.put(Integer.valueOf(Potion.Hunger.method_2826()), ">4>6>8-3-8+2");
      duration_pats.put(Integer.valueOf(Potion.Weakness.method_2826()), "=1>5>7>9+3-7-2-11 & !10 & !0");
      duration_pats.put(Integer.valueOf(Potion.Poison.method_2826()), "12+9 & !13 & !0");

      potency_pats.put(Integer.valueOf(Potion.Speed.method_2826()), "7+!3-!1");
      potency_pats.put(Integer.valueOf(Potion.DigSpeed.method_2826()), "1+0-!11");
      potency_pats.put(Integer.valueOf(Potion.DamageBoost.method_2826()), "2+7-!12");
      potency_pats.put(Integer.valueOf(Potion.Heal.method_2826()), "11+!0-!1-!14");
      potency_pats.put(Integer.valueOf(Potion.Harm.method_2826()), "!11-!14+!0-!1");
      potency_pats.put(Integer.valueOf(Potion.Resist.method_2826()), "12-!2");
      potency_pats.put(Integer.valueOf(Potion.Poison.method_2826()), "14>5");

      field_2075 = new String[]{ "potion.prefix.mundane",
								 "potion.prefix.uninteresting",
								 "potion.prefix.bland",
								 "potion.prefix.clear",
								 "potion.prefix.milky",
								 "potion.prefix.diffuse",
								 "potion.prefix.artless",
								 "potion.prefix.thin",
								 "potion.prefix.awkward",
								 "potion.prefix.flat",
								 "potion.prefix.bulky",
								 "potion.prefix.bungling",
								 "potion.prefix.buttered",
								 "potion.prefix.smooth",
								 "potion.prefix.suave",
								 "potion.prefix.debonair",
								 "potion.prefix.thick",
								 "potion.prefix.elegant",
								 "potion.prefix.fancy",
								 "potion.prefix.charming",
								 "potion.prefix.dashing",
								 "potion.prefix.refined",
								 "potion.prefix.cordial",
								 "potion.prefix.sparkling",
								 "potion.prefix.potent",
								 "potion.prefix.foul",
								 "potion.prefix.odorless",
								 "potion.prefix.rank",
								 "potion.prefix.harsh",
								 "potion.prefix.acrid",
								 "potion.prefix.gross",
								 "potion.prefix.stinky"};
   }
}
